![]() | EXPRESIONES ENLAZADAS |
x
e y
, están simplemente enlazadas desde x
hacia y
cuando:
y
(total o parcialmente) es función de x
(también total o parcialmente).
x
, automáticamente cambia y
.
x
e y
relacionadas y/o aparecer directamente (localmente) en la expresión destino, y
.
x
hacia y
. La relación se define mediante una expresión genérica independiente.
〈( (y\2)° = (x\1 + x\2) )〉
y
es siempre la suma de los dos primeros componentes de x
)
〈( (y\4 = (x\3 + x\4) )〉
y
es siempre la suma de los componentes 3 y 4 de x
)
(y = (a b c d e))
(x = (1 2 3 4))
y // ev. (a 3 c 7 e)
(x = (2 3 4 5))
x
)
y // ev. (a 5 c 9 e)
y
cambia automáticamente)
x
hacia y
. La relación se especifica en la expresión de destino.
(y = (1 2 3))
(x = (a 〈y\2〉 b)) // ev. x=(a 2 b)
(y = (4 5 6))
y
)
x // ev. (a 5 b)
x
cambia automáticamente)
u
.
(u = (a b c d))
〈( (x# > 1) → (x\1 = u\1) )〉 // relación genérica
(v = (7 2 3 4)) // ev. (v = (a 2 3 4))
(w = (8 5 6 9)) // ev. (w = (a 5 6 9))
(u = (d c b a)) // se redefine u
v // ev. (d 2 3 4)
w // ev. (d 5 6 9)
n1
y n2
〈( (minimo(n1 n2) = (n1 ← n1≤n2) →' n2) )〉
(u = (3 7 〈 minimo(u\1 u\2) 〉)) // ev. (u = (3 7 3))
(u\1 = 9) // cambiamos el primer elemento
u // ev. (9 7 7)
x
e y
, son expresiones enlazadas mutuamente. Es decir, existen relaciones de dependencia desde x
hacia y
, y viceversa. Por lo tanto, el contenido de una expresión es función de la otra y viceversa, y cualquier cambio en una de ellas afecta de forma inmediata a la otra. El entrelazamiento puede ser parcial o total, según la amplitud de las expresiones afectadas.
x
e y
.
(x = (1 2 3 4))
(y = (a b c d))
〈( x\1 = (y\1 + y\2) )〉
y
hacia x
)
〈( y\3 = (x\2 + x3) )〉
x
hacia y
)
x // ev. (a+b 2 3 4)
y // ev. (a b 5 d)
x
:
〈( x\3 = (x\1 + x\2) )〉
x
es siempre la suma de los dos primeros)
(x = (10 11 12 13)) // ev. (x = (10 11 21 13))
(x\2 = 0) // cambiamos el segundo elemento
x // ev. (10 0 10 13)
〈( (x# > 2) → (x\3 = (x\1 + x\2)) )〉
(u = (10 11 12 13)) // ev. (u = (10 11 21 13))
(v = (a b c)) // ev. (v = (a b a+b))
(v = ( abc )) // ev. (v = ( abc ) (la secuencia es de longitud 1)
〈( x\1 = (u\1 + v\1) )〉
〈( x\2 = (u\2 + v\2) )〉
〈( y\1 = x\2 )〉
〈( y\2 = x\1 )〉
(u = (1 2 3 4))
(v = (11 12 13 14))
x // ev. (12 14)
y // ev. (14 12)
〈( v\1 = u\1 )〉
〈( u\2 = (v\1 + 1) )〉
〈( v\2 = (u\2)2 )〉
〈( u\3 = (v\2 + 1) )〉
〈( v\3 = (u\3)*2 )〉
〈( u\4 = (v\3 + 1) )〉
〈( v\4 = (u\4)*2 )〉
(u = 1)
u // ev. (1 2 5 11)
v // ev. (1 4 10 22)
( fibo = (1 1) ) // secuencia de Fibonacci inicial
〈 ((fibo\i) =: (fibo\(i−1) + fibo\(i−2)))←(i>2) 〉
n
):
( fibo = (1 1) ) // secuencia de Fibonacci inicial
(n = 8) // 8 elementos
〈 ((fibo\i) = (fibo\(i−1) + fibo\(i−2))) ← (i>2 ∧ i≤n) 〉
fibo // ev. (1 1 2 3 5 8 13 21)